const CompressionPlugin = require('compression-webpack-plugin');
module.exports = {
    transpileDependencies: process.env.NODE_ENV === 'development' ? ['*'] : [],
    publicPath: './',
    assetsDir: 'static',
    productionSourceMap: false,
    devServer: {
        port: 8080     // 端口
    },
    configureWebpack: () => {
        if (process.env.NODE_ENV === 'production') {
            return {
                plugins: [
                    new CompressionPlugin({
                        test: /\.js$|\.html$|\.css$|\.jpg$|\.jpeg$|\.png/, // 需要压缩的文件类型
                        threshold: 10240, // 归档需要进行压缩的文件大小最小值，我这个是10K以上的进行压缩
                        deleteOriginalAssets: false, // 是否删除原文件
                        minRatio: 0.8
                    })
                ]
            };
        }
    },
    chainWebpack: config => {
        config
            .entry('index')
            .add('babel-polyfill');
        config.resolve.symlinks(true);
    },
    css: {
        // 提取 CSS 在开发环境模式下是默认不开启的，因为它和 CSS 热重载不兼容。
        extract: true,
    }
};
